<?php
/**
 * 查询构建器 find() select()
 * ORM get() all()
 */

namespace app\api\model;


use think\Model;
use traits\model\SoftDelete;


class BaseModel extends Model
{
    /**一对一
     * 一对一有主从关系的
     * 没有外键字段：hasOne('关联模型名','外键名','主键名',['模型别名定义'],'join类型');
     * 有外键字段：belongsTo('关联模型名','外键名','关联表主键名',['模型别名定义'],'join类型');
     *
     */

    /**一对多
     * 没有外键字段使用：hasMany('关联模型名','外键名','主键名',['模型别名定义']);
     * 有外键字段使用：belongsTo('关联模型名','外键名','关联表主键名',['模型别名定义'],'join类型');
     */

    /**多对多
     * belongsToMany('关联模型名','中间表名','外键名','当前模型关联键名',['模型别名定义']);
     * belongsToMany('关联模型名','中间表名','外键名','当前模型关联键名',['模型别名定义']);
     */

    /**远程一对多
     * hasManyThrough('关联模型名','中间模型名','外键名','中间模型关联键名','当前模型主键名',['模型别名定义']);
     */

    use SoftDelete;

    //        AdminModel::destroy(2);
//        $admin = AdminModel::get(2); # 软删除
//        $admin->delete(); # 软删除

//        AdminModel::destroy(2, true); #真实删除
//        $admin->delete(true); # 真实删除

    protected $hidden = ['create_time', 'update_time', 'delete_time'];
    protected $createTime = 'create_time';
    protected $updateTime = 'update_time';
    protected $deleteTime = 'delete_time';
    protected $autoWriteTimestamp = true;

    protected function img_prefix($value, $data)
    {
        $temp = $value;
//        if ($data['from'] == 1) {
//            $temp = config('setting.img_prefix') . $value;
//        }
        if(!$value){
            return $value;
        }
        $temp = config('setting.img_prefix') . $value;
        return $temp;
    }
}